package com.dragon.logical.service.avttendance;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dragon.repository.entity.DailyLogs;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 日报 服务类
 * </p>
 *
 * @author sy
 * @since 2023-07-27
 */
public interface IDailyLogsService extends IService<DailyLogs> {

    /**
     * 某人某月的列表
     * @param adminIds
     * @param time
     * @param type
     * @return
     */
    Map<String, List<DailyLogs>> dailyList(Integer adminIds, String time, Integer type);

    /**
     * 添加
     * @param daily
     * @param request
     */
    void addDaily(DailyLogs daily, HttpServletRequest request);

    /**
     * 修改
     * @param daily
     */
    void updateDaily(DailyLogs daily);

    /**
     * 删除
     * @param ids
     */
    void deleteDaily(String ids);

    /**
     * 详情
     * @param adminId
     * @param nowTime
     * @return
     */
    DailyLogs showDailyLogOne(Integer adminId, String nowTime);

    /**
     * 查看某个日报详情
     * @param id
     * @return
     */
    DailyLogs showCertainOne(Integer id);

    /**
     * 分页列表
     * @param page
     * @param limit
     * @param search
     * @param time
     * @param type
     * @return
     */
    Page<DailyLogs> normalList(Integer page, Integer limit, Integer search, String time, Integer type);

    /**
     * 提交列表
     * @param page
     * @param limit
     * @param time
     * @param type
     * @param adminId
     * @return
     */
    Page<DailyLogs> submitList(Integer page, Integer limit,  Integer type, String time, Integer adminId);

    /**
     * 接收的列表
     * @param page
     * @param limit
     * @param type
     * @param time
     * @param adminId
     * @param search
     * @return
     */
    Page<DailyLogs> receptionList(Integer page, Integer limit, Integer type, String time, Integer adminId, Integer search);

    /**
     * 日报统计
     * @param time
     * @return
     */
    Map<String, Object> statistics(String time);
}
